This application generally describes systems and methods for controlling a rotatable object (such as a steering wheel) displayed on a display screen and, in particular, using accelerometer outputs to effect such controlling.
User inputs to computer systems may be supplied in various ways. For example, when the computer system is a video game console, inputs are typically supplied using cross-switches, joysticks, buttons and the like provided on a controller. A cross-switch or a joystick may be used to control movement of a video game object in various directions and various buttons may be used to control character actions such as jumping, using a weapon and the like.
The controller described in this patent application additionally or alternatively includes an accelerometer arrangement that generates inputs to a video game console or other computer system based on certain movements and/or orientations of the controller. Such a controller can provide a more intuitive user interface in which, for example, movement of a video game object can be controlled by moving the controller in a particular manner. By way of illustration, a player may increase or decrease the altitude of a plane in a video game by tilting the controller up or down. The accelerometer arrangement can be used to provide gaming experiences that cannot be provided easily (if at all) using a controller having cross-switches, joysticks, buttons, etc.
This patent application describes example systems and methods for using accelerometer outputs to control a rotatable object (e.g., a steering wheel) on a display. By way of example without limitation, when an object such as steering wheel that can rotate more than 180 degrees on screen is controlled using a controller including an accelerometer, two accelerometer output axes are examined (e.g., both x and y axes). For a particular orientation of the controller, one of the accelerometer outputs is likely to be more accurate than another. For example, when the controller is facing upwardly, it may be more accurate to use the y-axis accelerometer output. Outside of that range, using the x-axis accelerometer output may be more desirable. To avoid having discontinuity when switching from one axis to another, linear interpolation between the two axis outputs can be used.